A network attached storage (“NAS”) system is a processing system adapted to store and retrieve data on behalf of one or more client processing systems (“clients”) in response to external input/output requests received from clients. A NAS system can provide clients with file-level access to data stored in a set of mass storage devices, such as magnetic or optical storage disks or tapes.
Configuration, maintenance, and support of a NAS system have evolved from simple NFS mount points to sophisticated support for multiple versions of NFS/CIFS. FIG. 1 is a block diagram illustrating a conventional Network Attached Storage (NAS) system. A NAS client 102 mounts one or more filesystems from a NAS server 106 using a mounting protocol 104 such as Network File System (NFS) or Common Internet File System (CIFS). For example, NAS server 106 includes two exportable volumes: /vol/mnt1 and /vol/mnt2 that are mounted onto NAS client 102 respectively as /mnt1 and as a drive letter such as z:\.
As such, client file /mnt1/file1 on NAS client 102 corresponds to a file on NAS server 106 /vol/mnt1/file1. Similarly, client file z:\file2 on NAS client 102 corresponds to a file on NAS server 106 /vol/mnt2/file2.
NAS client 102 accesses files in /mnt1 or z:\ based on security settings on each file 112, 114 or directory.
An administrator 108 of the NAS server 106 can create snapshots 110 of the NAS server 106 on a timely basis (hourly, daily, weekly). For example, snapshots 110 are then accessible under:                /mnt1/.hourly/file1 (corresponding to NAS server's /vol/mnt1/file1 from an hour ago); and        z:\.weekly/file2 (corresponding to NAS server's /vol/mnt2/file2 from a week ago).        
Access to most configurations of NAS server 106 are typically limited to either the administrator of the NAS server 106 and/or a user with specific rights to login to the NAS server 106 through a Web User Interface or a Command Line Interface for such configuration, support, and maintenance.
Sophisticated features added to NAS server 106 such as snapshots, mirroring, database synchronization, virtual machine provisioning, are not only useful to the administrator of NAS server 106, but these features have also become part of applications and end users' day to day operation needs. For instance, a user may frequently need to be able to snapshot and mirror important data when large amounts of changes are done in his working set storage.
Conventionally, the user is either forced to submit a change request to the administrator 108 of NAS server 106 for such tasks or make use of NAS server 106 vendor-provided so called plug-ins 103 into the application to make use of this. Plug-ins 103 frequently have limited functionality and do not have as extensive security and rights attributes as the files that reside on them have. Plug-ins 103 also only exist for specific applications that the NAS Server 106 vendor supports. Also, plug-ins 103 are frequently for specific Operating Systems where the applications may run as they require binary builds of the specific feature.